
#include "io_reuse_module.h"
#include <memory>
#include <vector>

IoReuseModule::IoReuseModule(IoReuseModuleFactory * factory)
{
    m_impl = factory->CreateModule();
}

IoReuseModule::~IoReuseModule() = default;

int64_t IoReuseModule::AddEvent(int description, int event)
{
    return m_impl->AddEvent(description, event);
}

int64_t IoReuseModule::ModEvent(int64_t description, int event)
{
    return m_impl->ModEvent(description, event);
}

int64_t IoReuseModule::DelEvent(int64_t id)
{
    return m_impl->DelEvent(id);
}

int IoReuseModule::WaitEvent(std::vector<struct EventData> & trigger_event_vec, int wait_time)
{
    return m_impl->WaitEvent(trigger_event_vec, wait_time);
}
